{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true,
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "## PS1-3 Poisson Regression"
   ]
  },
  {
   "cell_type": "markdown",
   "source": [
    "#### (a)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "\\begin{align*}\n",
    "p(y; \\ \\lambda) & = \\frac{e^{- \\lambda} \\ \\lambda^y}{y \\ !} \\\\\n",
    "                & = \\frac{1}{y \\ !} \\exp (y \\log \\lambda - \\lambda) \\\\\n",
    "                & = b(y) \\exp(\\eta^T T(y) - a(\\eta))\n",
    "\\end{align*}\n",
    "\n",
    "where $b(y) = \\frac{1}{y \\ !}$, $T(y) = y$, $\\eta = \\log \\lambda$ and $a(\\eta) = \\exp(\\eta)$."
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "#### (b)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "\\begin{align*}\n",
    "\\mathbb{E} [T(y); \\ \\eta] & = \\mathbb{E} [y; \\ \\eta] \\\\\n",
    "                          & = \\lambda \\\\\n",
    "                          & = \\exp (\\eta)\n",
    "\\end{align*}"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "#### (c)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "Recall the design choices of GLM:\n",
    "\n",
    "1. $y \\ \\vert \\ x; \\ \\theta \\sim \\mathrm{ExponentialFamily} (\\eta)$\n",
    "\n",
    "2. $h(x) = \\mathbb{E} [y \\ \\vert \\ x]$\n",
    "\n",
    "3. $\\eta = \\theta^T x$\n",
    "\n",
    "Plug them into $\\ell$:\n",
    "\n",
    "\\begin{align*}\n",
    "\\ell (\\theta) & = \\log p(y^{(i)} \\ \\vert \\ x^{(i)}; \\ \\theta) \\\\\n",
    "              & = \\log b(y^{(i)}) \\exp (\\eta^T T(y^{(i)}) - a(y^{(i)})) \\\\\n",
    "              & = (x^{(i)})^T \\theta y^{(i)} - \\exp (\\theta^T x^{(i)}) - \\log y^{(i)} !\n",
    "\\end{align*}\n",
    "\n",
    "By design choice 2 and 3:\n",
    "\n",
    "\\begin{align*}\n",
    "h(x) & = \\mathbb{E} [y \\ \\vert \\ x] \\\\\n",
    "     & = \\lambda \\\\\n",
    "     & = \\exp (\\eta) \\\\\n",
    "     & = \\exp (\\theta^T x)\n",
    "\\end{align*}\n",
    "\n",
    "Therefore,\n",
    "\n",
    "\\begin{align*}\n",
    "\\frac{\\partial}{\\partial \\theta}\\ell (\\theta) & = x^{(i)} y^{(i)} - x^{(i)} \\exp (\\theta^T x^{(i)}) \\\\\n",
    "                                              & = \\big( y^{(i)} - h_\\theta(x^{(i)}) \\big) \\ x^{(i)}\n",
    "\\end{align*}\n",
    "\n",
    "The stochastic gradient ascent update rule is:\n",
    "\n",
    "$$\\theta := \\theta + \\alpha \\ \\big( y^{(i)} - h_\\theta (x^{(i)}) \\big) \\ x^{(i)}$$"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "#### (d)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   }
  },
  {
   "cell_type": "code",
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import problem_set_1.src.util as util\n",
    "\n",
    "from problem_set_1.src.linear_model import LinearModel"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% code\n"
    }
   },
   "execution_count": 1,
   "outputs": []
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "outputs": [],
   "source": [
    "x_train, y_train = util.load_dataset('data/ds4_train.csv', add_intercept=True)\n",
    "x_valid, y_valid = util.load_dataset('data/ds4_valid.csv', add_intercept=True)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% code\n"
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "Implement Poisson Regression:"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "outputs": [],
   "source": [
    "class PoissonRegression(LinearModel):\n",
    "    \"\"\"Poisson Regression.\n",
    "\n",
    "    Example usage:\n",
    "        > clf = PoissonRegression(step_size=lr)\n",
    "        > clf.fit(x_train, y_train)\n",
    "        > clf.predict(x_eval)\n",
    "    \"\"\"\n",
    "\n",
    "    def h(self, theta, x):\n",
    "        \"\"\"Vectorized implementation of h.\n",
    "\n",
    "        :param theta: Shape (n,).\n",
    "        :param x:     Training example inputs. Shape (m, n).\n",
    "        :return:      The hypothesis of Poisson Regression, given by h(x) = exp(theta^T x). Shape (m,).\n",
    "        \"\"\"\n",
    "        return np.exp(x @ theta)\n",
    "\n",
    "    def fit(self, x, y):\n",
    "        \"\"\"Run gradient ascent to maximize likelihood for Poisson regression.\n",
    "\n",
    "        :param x: Training example inputs. Shape (m, n).\n",
    "        :param y: Training example labels. Shape (m,).\n",
    "        \"\"\"\n",
    "\n",
    "        def next_step(theta):\n",
    "            return self.step_size / m * x.T @ (y - self.h(theta, x))\n",
    "\n",
    "        m, n = x.shape\n",
    "\n",
    "        # Initialize theta\n",
    "        if self.theta is None:\n",
    "            theta = np.zeros(n)\n",
    "        else:\n",
    "            theta = self.theta\n",
    "\n",
    "        # Update theta\n",
    "        step = next_step(theta)\n",
    "        while np.linalg.norm(step, 1) >= self.eps:\n",
    "            theta += step\n",
    "            step = next_step(theta)\n",
    "\n",
    "        self.theta = theta\n",
    "\n",
    "    def predict(self, x):\n",
    "        \"\"\"Make a prediction given inputs x.\n",
    "\n",
    "        :param x: Inputs of shape (m, n).\n",
    "        :return   Floating-point prediction for each input, shape (m,).\n",
    "        \"\"\"\n",
    "\n",
    "        return self.h(self.theta, x)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% code\n"
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "Tune the learning rate and train the Poisson Regression model:"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "outputs": [],
   "source": [
    "clf = PoissonRegression(step_size=2e-7)\n",
    "clf.fit(x_train, y_train)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% code\n"
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "Plot the predictions on training set:"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "outputs": [],
   "source": [
    "def plot(y_label, y_pred, title):\n",
    "    plt.plot(y_label, 'go', label='label')\n",
    "    plt.plot(y_pred, 'rx', label='prediction')\n",
    "    plt.suptitle(title, fontsize=12)\n",
    "    plt.legend(loc='upper left')"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% code\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "y_train_pred = clf.predict(x_train)\n",
    "plot(y_train, y_train_pred, 'Training Set')"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% code\n"
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "Plot the predictions on validation set:"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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f/Ptb3+bO++803e/W6EfeeSRmkNdUZQOEcRC/ww41xgzCBgMXCAip7uOGQX0T7wmAfPCFNKTU0+FcePalPrKldb3U0/N6rRbt27luOOOa5cet7y8nHvuuYehQ4eybNkynn32Wc444wxOPvlkxo4dy549ewB45plnOO644xg6dCiPP/5463kXLVrEzTffDMDOnTu5+OKLGTRoEIMGDWLNmjXceeedvPfeewwePJjbb7896UEan376Kddffz0nnngiJ510EisTZV60aBGXXHIJF1xwAf3792eqPstRUbo0aZNzGWsp6Z7E1+LEy728dAywOHHsqyLSW0SOMMbkLiH48OHwyCOWEp88GebNs74PH571qTdt2sQDDzzAmWeeyXe/+91Wy7lHjx6sXr2av/71r1xyySVUV1dz0EEHcd999/Gzn/2MqVOn8r3vfY/nn3+er371q1x++eWe57/11ls555xzWL58OS0tLezZs4ef/vSnbNiwgXXr1gFWx2Lzi1/8AoC33nqLd955h5EjR7J582YA1q1bx5tvvkn37t059thjueWWWzj66KOzrgNFUQqPQD50ESkSkXXAh8BzxpjXXIf0A/7s+L4tsc19nkkiUiMiNaE8iX74cEuZ//jH1nsIyhzap8ddvXo1QKuCfvXVV/nTn/7EmWeeyeDBg3nwwQepr6/nnXfeoaKigv79+yMiXHXVVZ7nf/7555k8eTIARUVFlJSkziG9evVqrr76agCOO+44ysrKWhX6eeedR0lJCT169OCEE05ISiKmKErXIlD6XGNMCzBYRHoDy0VkgDFmg+MQr0fLt0sSY4xZACwAK5dLx8V1sXKlZZn/8IfW+/DhoSh1r/S4AAcddBBg5Uo///zzWbJkSdJx69ata/fbMEiVb6d79+6tn4uKivjiiy9C/39FUQqDDkW5GGN2AauAC1y7tgHOcf5RwI5sBEuL7TN/5BG4554294t7ojQDvNLjOjn99NN5+eWX2bJlCwB79+5l8+bNHHfccdTV1fHee++1/taL8847j3nzrGmGlpYWdu/eTc+ePWlubvY8/uyzz6aqynq03ubNm2loaODYY4/NupyKosSLIFEuhyYsc0TkH4ARwDuuw1YA1ySiXU4HmnLqPwd4/fVkn7ntU3/99axP7ZUe18mhhx7KokWLGD9+PAMHDuT000/nnXfeoUePHixYsICLLrqIoUOHUlZW5nn+//qv/2LlypWceOKJnHLKKbz99tv06dOHM888kwEDBnD77bcnHX/jjTfS0tLCiSeeyOWXX86iRYuSLHNFURQIkD5XRAYCDwJFWB3AI8aYe0Tk+wDGmPli+RnmYlnue4HrjTE1fueE/E2fu3XrVkaPHs2GDRvSH1wg5EO9KooSDqnS5waJclkPnOSxfb7jswFuykZIRVEUJTt0paiL8vLyWFnniqJ0HfJOoUf1BKW4ovWpKF2HvFLoPXr0oLGxUZVQSBhjaGxspEePHlGLoihKJxAoDr2zOOqoo9i2bRuhLDpSAKuTPOqoo6IWQ1GUTiCvFHpxcTEVFRVRi6EoilKQ5JVCVxSlwJg1i+o+TdzQXEVDUwOlJaUs7DmBEY0loMniOp288qErilJYVPdpYtCtM6lYV4/BULGunkG3zqS6T1PUonVJ1EJXFCVjbmiuomIsPLIM5lXC5BoYNxbqmqvYyr1Ri9flUIWuKErGNDQ1UF9hKfMfvQj3nA2rKkCaGqIWrUuiLhdFUTKmtKSUYXWWZX7P2db7sDpru9L5qIWuKErGLOw5gUHLZjJurGWZr6yw3C+1Z02IWrQuiVroiqJkzIjGEmrnTKNucBmCUDe4jNo506woF6XTSZttMVd4ZVtUFEVRUpMq26Ja6IqiKDFBFbqiKEpMUIWuKIoSE1ShK4qixARV6IqiKDFBFbqiKEpMUIWuKIoSE1ShK4qixIS0S/9F5GhgMXA4sB9YYIz5L9cxw4AngbrEpseNMfeEKmkhoLmhFUWJkCAW+hfAbcaY44HTgZtE5ASP414yxgxOvLqeMkdzQyuKEi1pFbox5gNjzBuJz83ARqBfrgUrRG5ormJcIjf0jOet93Fjre2Koii5pkM+dBEpB04CXvPYfYaI1IrI0yLydZ/fTxKRGhGpieODoBuaGljlyA09r9LKQNeguaEVRekEAit0ETkYeAyYYozZ7dr9BlBmjBkE/DfwhNc5jDELjDGVxpjKQw89NEOR8xfNDa0oSpQEUugiUoylzKuMMY+79xtjdhtj9iQ+PwUUi0jfUCUtABb2nNDqZrnrXFrdLwt7am5oRVFyT1qFLiICPABsNMb8zOeYwxPHISKnJc7bGKaghYDmhlYUJUrS5kMXkaHAS8BbWGGLANOAUgBjzHwRuRmYjBUR8wnwz8aYNanOq/nQFUVROk6qfOhp49CNMasBSXPMXGBuZuIpiqIoYaArRRVFUWKCKnRFUZSYoApdURQlJqhCVxRFiQmq0BVFUWKCKnRFUZSYoApdURQlJqhCVxRFiQmq0BVFUWKCKnRFUZSYoApdURQlJqhCVxRFiQmq0BVFUWKCKnRFUZSYoApdURQlJqhCVxRFiQmq0BVFUWJC2icWKYqi5IxZs6ju08QNzVU0NDVQWlLKwp4TrOfwTp0atXQFR2Fa6LNmUf3AdMpnl9NtRjfKZ5dT/cB0mDUraskURekA1X2aGHTrTCrW1WMwVKyrZ9CtM6nu0xS1aAVJQSp0bQSKEg9uaK5i3Fh4ZBnMeN56HzfW2q50nLQKXUSOFpGVIrJRRN4WkX/yOEZEZI6IbBGR9SJycm7EtdBGoCjxoKGpgVUVMK8SfvSi9b6qwtqudJwgFvoXwG3GmOOB04GbROQE1zGjgP6J1yRgXqhSutBGoCjxoLSklGF1MLkG7jnbeh9WZ21XOk5ahW6M+cAY80biczOwEejnOmwMsNhYvAr0FpEjQpc2gTYCRYkHC3tOaB1h33UurSPvhT0nRC1aQdKhKBcRKQdOAl5z7eoH/NnxfVti2wfZCOfHwp4TGLRsJuPGWpb5ygqrEdSepY1AUQqJEY0lVM+ZRl1zFdLUQN3gUmrPmsCIx96kmuka/dJBAit0ETkYeAyYYozZ7d7t8RPjcY5JWC4ZSkszt6Z9G0FjScbnVBQlAqZOZQSwlXuTNlcz3Qp8GAv1FViBD8tmUj1nGiOikbQgEGPa6d32B4kUA78Ffm+M+ZnH/v8BVhljliS+bwKGGWN8LfTKykpTU1OTseCKosSX8tnlVKyr55Fl1hzZ5BrLHVM3uIytU7ZGLV6kiMhaY0yl174gUS4CPABs9FLmCVYA1ySiXU4HmlIpc0VRlFRo4ENmBHG5nAlcDbwlIusS26YBpQDGmPnAU8CFwBZgL3B96JIqitJlKC0ppWJdfVLgw8oKqBusgQ+pSKvQjTGr8faRO48xwE1hCaUoStdGAx8yoyBXiiqKEm9GNJZQO2cadYPLEIS6wWXUzpmmgQ9pCDQpmgt0UlRRFKXjpJoU1WyLihInNHthl0ZdLooSIzRxXddGLXRFiRE3NFdRkVg+nxS/3VzVbvGOEj9UoStKjGhoaqDeEb99z9lWlIho/HaXQF0uihIjNHFd10YtdEWJERq/3bVRC11RYoTGb3dtNA5dURSlgMgqOZeiKIpSGKhCVxRFiQmq0BVFUWKCKnRFUZSYoGGLiqIo6SiQHDlqoSuKoqShUHLkqIWuKIqShkLJkaMKXVEUJQ2FkiNHFbqiKPmDn6/6sTepvvSkyHzYhfKMU/WhK4qSN/j5qh89Mlof9sKeE3hkmeVmuetc6/2RZdb2fEItdEVR8gY/X/VLpa9xVoQ+7BGNJVTPmUZdcxXS1EDd4FJqz5qQdzly0ip0EfkVMBr40BgzwGP/MOBJoC6x6XFjzD0hyqgoSq7Jk7A8P181poVVqXzYuZZ/6lRGQF5NgHoRxOWyCLggzTEvGWMGJ16qzBWlwMiXsDy/fO5FUpQyz3u+yB81aS10Y8yLIlLeCbIoihIR+RKW55fP/YXx3+CcZWt887zni/xRE5YP/QwRqQV2AD8wxrwd0nkLkzwZvioxJ8R2li9heX6+6sseezOlDztf5I+aMBT6G0CZMWaPiFwIPAH09zpQRCYBkwBKS/Mr3CdMWod/Y6G+Amv4t2wm1XOmMSJq4ZTYEGY7y5uwPD9f9URS+rDzRv6IyVqhG2N2Oz4/JSL3i0hfY8xfPY5dACwA6wEX2f53vqLDP6UzCLOdFfqj6wpd/rDIWqGLyOHATmOMEZHTsCZaG7OWrIDR4Z/SGYTZzgolLM+PQpc/LIKELS4BhgF9RWQbcBdQDGCMmQ9cBkwWkS+AT4ArTFTPtcsTdPindAahtrMCCcvzpdDlD4kgUS7j0+yfC8wNTaIYkNfDP52wjQ153c6USNCl/zkgn5+8rvG68SGf25kSDRKVd6SystLU1NRE8t9dmfLZ5VSsq28/kTa4jK1TtkYtnqIoaRCRtcaYSq99msuli6ETtoqSYyJ0a6rLpYvht7TaXkKtKEp2ROnWVAu9i6ETaYqSW6Jch6IKvYuh8bqKkluidGuqQu9qaLyuouSUKNehqEJXFEUJkSjdmjopqiiKEiJRrg/QOHRFUZQCIh5x6LpkXVEUJSUF43LRJeuKoiipKRgLXXOMK3mBjhSVoETQVgrGQm9oakh66ve8SmsGuUGXrCudiI4UlaBE0VYKRqHrknUlH7ihuYpxiZHijOet93Fjre2K4iSKtlIwLhddsq7kA16rAE/dDlBP+exydcMorUSxYrRgFHqsl6yH6WtTH29O8VoFOHNowvqiXh8KrrQSxYrRglHocV6yHubT28M8VyvaSbTiN1K0lbpO2Cs2UXgVCsaHHmfC9LXlwm+nE4FteK0CHDcWivfrhL2STBQrRgvHQo8xYfracuG305BRBx4jxfLZ5YD1FKhOGVrriKkwiMCroBZ6ZzFrFqxcmbxt5UqYNSvUCJ5cRANpyGhqFvac0DoSuutcWkdIC3vmZmitIybFj7QKXUR+JSIfisgGn/0iInNEZIuIrBeRk8MXMwaceiqfXjqG8TcdTrcZ3Rh/0+F8eukYOPXUUBVCLpSLhoymprOH1ho6qfgRxOWyCJgLLPbZPwron3h9A5iXeFccVPXdwUOXfM7iRc0cXwmTa3Zy8fjuXNV3BxNeDy+CJxfRQBoymoZOHlrrc2EVP9IqdGPMiyJSnuKQMcBiY6VtfFVEeovIEcaYD8ISMg5M/8N06o/+LOkmfOboz9j4h+lMmLo1PIWQA+US65DRAiTKBygo+U0Yk6L9gD87vm9LbIuPQg9hEqqhqaGd22JlBbxQUQBWVYxDRgsRHTEpfoSh0MVjm2eSdRGZBEwCKC0tHGsijNjuyz88jDnLdra7CW+97rCcyq6ESJ5ElxTkiClP6i7uhKHQtwFHO74fBezwOtAYswBYANYDLkL4704hjLC9qQcO55rxy1l19GeApdSvGd+dmQcOz6XoSojkZNFWJhTgiClv6i7mhKHQVwA3i8hSrMnQprj5z8OYhDrp50u46q0qNv5hequFctUl93LSiTpMLhQii8ePgXWbN2sZYlCXqUir0EVkCTAM6Csi24C7gGIAY8x84CngQmALsBe4PlfCRkVYk1ATTpzABFXgBUtU0SVxsG4jjcxxKPGKP1kLwC4eaq3ufb1f4dVlKoJEuYxPs98AN4UmUR6ik1AKRBddEgfrNpK6S8g79725/HLGbirGWptf7Qf/+Sw8NBBuXxOvVc+69D8ABTkJpfiToWKKqmPPl7jzbEYKUdSdLW/TWEtpL18KxS2wr8hS5tesj18Mvyr0IBTgJJTiT6aKKaqOPV/izrMZKURRd255i1vgoC9g8Qkwaks8Y/hVoSvxIaDlnbFi6uyOPVGewRs/5peJ5f0AX9kTjcsvq5FCBEaRW96/F8PigXDVerhtJMweEj/3qSp0JTvyKGogqOWdLy6MdNjlGXV8mzJ/ZBl876pe/OONN3e6yy9fRgpBseW99TVLme/rBp8UW8p82mpYdwRW3p0YuU9VoStZkU8RGEEt70JRTM7y7DzIUZ7jD2HExM53/xVacIAt768HwNIB1ja7Q6wddzMrG0tgSuGHKjpRha5kRd5EYBDc8i4UxZRvI4lCCw6w5f2JY/RYe9YEnmgsgYnxUuQ2qtCVrMgnpRPU8g6kmPLAlZR3I4lCCw4oNHlDQBW60nEcys5gGFYHt74G1RXRKp3AlneAGz0fXEmFMpJQ8gdV6FGQB9ZfNjiVXQVWfC/AvWdb71EpnTBdAvngSio0F4cSParQIyAfrL9scCq72q9Y2y6+wrIiy0oijBoIcYidF66kLugyULJDFXoE5IP1lw2+yg5h65StUYsXCnnnv1aUAKhCj4C8sP6yIMq8HJ5uKgjdhaX+a6UQXaNpHxKthI/fQ5fvrSmh+oHplM8up9uMbpTPLqf6gekwa1bUIifR2U+5h9RPuk+1L1M6+8HPSv6Ri3aVa9RCjwA/6++F8ScUhG89H/JyON1UQPguLPVfd3kK0TWqCj0C/BTiu0/czy8KoQHlQV4Ot5uqkF1YSn5SiK5RVehR4KMQR277CYbCakCdRTq/vU5gKmFTiBPjqtDziA43oAKctMmUdJOUOoGphE0hTozHQ6Hng2ILQYaONqBCj2cPRKJeX3/ifu4dCy8dU8Sw91sY2dib2jk3tkW56AKc+BHxfZ3VXFFEssdCoeeDYgtDho42oEKctOkodr3em+jkhr3fYnVyc25MyjioE5gZkg/GkA+R39dZzBVFJrsxJpLXKaecYsKi7OdlZti1mA+/hJlxtvU+7FpM2c/LQvuPfJRB7hbD3db/Gax37sbI3ZKz/+xs8uHa5gX33WeeWzjNlP28zMjdYsp+XmaeWzjNmFGjvLffd1+gcy6bOKS1TrkbM2UkZk8x1jkippCvfS5lB2qMj16NRRx6Q1MDqxyz0fMqLWuuoRMnE6OQwS+evbQkfydtOko+XNtQmDUrqzUGfjHRjx6Zeax0dZ8mzlmyhplDrVHeg49bD0/+1+HW6C9qCvnaRyV7IIUuIheIyCYR2SIid3rsHyYiTSKyLvH6Ufii+pMPii0KGaJY4NPZ5MO1DYNsF6nc0FzVen1nPE/rdb+i9DXP7UEUsn3OaathY1/rockPDbQezZYPSjMvrn2GHXFUsqf1oYtIEfAL4HxgG/C6iKwwxvzJdehLxpjROZAxLfkwGx2FDF0hG18+XNswyHa+wy8mGtOSZAl2JNTVPufTX7WU+Yul1sOTh9XlR2hePlz7TH3hUckeZFL0NGCLMeZ9ABFZCowB3Ao9MnKm2DowYRSJco3DasY0dRyXTivbRSp+Ia0vHVPEWe+3ZBQrXVpSysVP13PVeuvhyaO20Op+yYcOMx+ufaYdcWSy+znX7RdwGbDQ8f1qYK7rmGFAI1ALPA183edck4AaoKa0tDTryYFc89zCaUkTRvYkRz5MGLXiN1kWZFIsDyiIOg6BbCfJ/OrJPanZkfp7buE001xsTYS6z1ko7ScrAtw7+Rh4QIpJ0SAWunj1A67vbwBlxpg9InIh8ATQ36PzWAAsAKisrHSfI+8ohLDASEO7Qgh5K4Q6DoNsh+B+Ft9lj72ZsSU4orGE6nnTWO4+Zy5DFj3azHOrjwHg/KHvd2roZJB7p9BWiwZR6NuAox3fjwJ2OA8wxux2fH5KRO4Xkb7GmL+GI2aGOBalPNtnV+vwdGRjb079zo1pG0wh5HKIUiGG0ZkUQh1nhEtx3VtTwq7xQxi580+8UNHU8SG4n3ttYhYx+BG47LzazKG/rQeg4uDONUqC3Dv54MfvCEEU+utAfxGpALYDVwBXOg8QkcOBncYYIyKnYUXPNIYtbEexG8/vEn7BmUNbmLYaZg7dZUUYpGkwedU7+1jDl/+unllDkxXiqdvhig31fGdjCU8eafW1Y3b04t8bT6H/aReEZvWE0ZnkVR2HiFtxPdtnFzcsWUPvOdPYP7GTRx55tHjIq81cfIW1r7ONkiDGRD748TuEny/GJPu+LwQ2A+8B0xPbvg98P/H5ZuBtLB/6q8CQdOcMc2GRH06/5YMDMS1Y70H9l/nk3/WTZcykXu18s1NGYj7ubr2GXWu97O9hyh6GfzEnddyReYUczUHk06IYdx3PP8VqC2Mm9er0eRe/NhOFnzqfrlFHIEsfOsaYp4CnXNvmOz7PBeZm2beEjrsHfrHUCs8KOqzPp97ZzxouoS322DkknHEO3PUC/PZhwMC+IssSysrqcVl63aQbt7zcwj+/krl1nYs69nMFvTtqOPUPJFuq/7G5H6MWr6HiynCH+/nkSnK3ncs3WNubPtuNoXPnXfxGZECnj9IKzZ0SCD9Nn+tXIVjo+YSfZTN1BO0szGHXYm4f0XZsWFaP29KbMtKqU3eURNQRKn6W15hJvTxHA1NGhm+l5ZP159V2opLNa0TmHE12ajsq0AgxsrXQCxW7B5451FoNd9tIEj70EHvibP2TAX/vZ9n8+qIy7pt4b5LVXT67HKhn+VL4ezFg4NbXsrd63JbeP79i1el/n1mEmP1541/0XYTDbpo8RjmrKuCQT8O1pNNaf53o1/ZrO4FHDyHK6jUi+2iPFeVSN/j9zh0Jx2Edh4tYK3S78Rz2xP2MG2tFuaw7wpF69bE3qWZ6Vg0120iPoL/vyPBwYc8JVC6dCcDoxPT18qXWqyaLTsxLUc4eAmL2s/+u/RmfN2z8FNiqxMutyNxLtMMY7qdzJXVmuKlX21m+1NoXpMwdkjWd8vdSolOst63hFjv/6IxO3M90z/WrM1wu6QhjQi7boXXg33dwom/zpcPNmEm9WiecxkzqZTZfOjyr4aSfrDNH986roWtHJ5DtY28fkfw9l+XIuN1k4iZw/WbMpF7m4+6Y+ScHa/cdkTXyQII8dqOEVTfEyuUSYi8XRthdtpNfgX+fanjoVSejJvBEY3ghihDCw607yc3gZx3/+9Ov0PvplUny/+ZheOaaIdQN2A7UJ8JbrdBPyJ3VnGm7yciyd7edWbOo/kUTPwk4Ed0RWaNeKBZ5DvUUdEbdFJxCD/OChRGJ0KE4ag+F9u0dPRlVs5tL3sl8yB+oTkJQptk+3Dq0a5fJsB6gcRbVo85Ikv/VxMrIy6ZMpXx2OeMSSn1eZVv0UMY3XAo5M42/D0UpdNB33BFZo47uibpDSUWn1I2f6Z7rV6YulzCjB8I4V0eGUbma4Q9SjlwOhYPGo4dy7XL4UIaw83akqvNMr0cUuUU6ImvU0T2h1U8OXDdh1Q1xcrmE2cuFEYfakThqL+vh1wPg6VN6UXf8IRnP8Aepk1xaLkEtuDCunfuhDE9/Fa5ab0XbLPcrS5aRRJlOkKas889vzCj+PoqVtR1p41HHdodVP7lw3XRG3RScQg+zQYeyqKUDw1cvhXbXuSA0s39KU4fltwlSJ6F1hB7K8T829GPUw/WMvjJFQ501i2/v6EnTZ7tb5bz1NfjKHvjJ1cGvnVNJ2g9lWJx4KINfWXIRSRSElHV+V2Yhcx2SMVM3m9fvmMDWz2+Eu1K756JejJfRNfQo7+CNHzPquA4YQAHqujPqpuAUeqg3nddkEU2UH3g/DTPuDH3SLpTOKEOFmkvL5YKH63k6MbHo11Cr+zSx6EdWXhk7d8etr8Hlb8O5q4+humew8NFMHsoQdHQS9g2XC2u6IzJmamVW92ni9MkzuXi41VHav3t0/BAum4X/vZAHOWMyuYZe9fTLxPzJzoODGUCB6roz4t79fDG5fmUctpjOt5XFw3RzHXIVxvm9ztFcbOWwDrVsrnqcObq3WTZxiLnjfElafdtcHMwPWPbzstYcIu7Vm5svHd4hH629QtVe9WuHGvqVJaqc1jltTwF8vJn6bDOp45yXN2CZM8GvnjpSd505d0CcfOjpejm/nvLR8UM4J00PGtjPnKElEoYF6CXjt66EugHb2Tpla2j/7a7HDz/fxR0PrOHlkZalYlvIiwcGc900NDXw/W/BzoNcFg/NrDv+fSoOTl6B+sPh8N/b72P/jJ8k1e/CPhM4feVMbhtpWY/D6uzQySFWHm8PosromMshdhCLMFM3W0NTA7OHwEl/aRsFTVudfs4l1xEmGY8c0tDQ1MC47VabtusJrMVXv/665RZN5wmIOrqnFT9Nn+tX1guLfHrrmaN7e/aURTOKkrbbT2opmlHkmwPFz5LrlMUTifLZ5bHlv32E9X/PVeTI2kz8r7O+bEvcttIC58VxXCNnVM9zFcm/c1vQzvO2q9+gVprjOGfOFrv+Al2vHC3QCoMgFmE2Frr9uxdK265JunaW65FQpiOHTM67on/HMlLmi4VesArdT6na373ScwZRGkESNaVyH4R1o9vls+VxvtuhjrloOO56fXBg8g3t/h40TNMdoun8ndfNkG3CLOd/O1eAzj/Fuk6LTutu5p/c1lHaq13dbqrOSEOcCUGUZ6Zpc91tz+7Ap4xMfQ1yrdTsMttt8IXScP6jQ+X1MSg64jbMllQKvfBcLgn8hncvHVPEMI+H5jofpltdAd/eZKWYtX9/62vwUmJo+fjx1m/sYdb3un9M9QPTW10qDU0NLB1ghcs5h2i/fGg31XOaQlkd6Szf01+F/3wWHhpopcQFa2IxF6FP7v91PkB4yhq4ZGPb92F1Vr3WzrkjbZhm7VeS5S4rKWt1PyzsM4HTH57JDxNDabtMbxye+fDVN91w91788qHdrQnb3unr/9CTG5qrqLjCGnqHmoY4HQHaTBA3ktPlM/V39dQdVgzsY1TNbr72ZSjbVc/ptTMZfiXUzb6/9T9GUMKj44cwbcma1uCDNw+Hf1sJF43zb2fOgIVTt7clwRtHPeWzyzOfIE3URzfpxlnvtzBqC9QeBmc3pHD5dfAB78NdSdoWD4Ti/ZYrxYmfq2vXqOHU5kOqbT9Nn+tXtha6n4XittTt787FKE5Ly+7t9xxgWTC2pe08dv7J1jk2Xzo8yR3xcXfMJ0WYz7q1WXHuHj0j98x997Ubaaw7zHp/rqLtXLnIVeG2gmxLPJNUuYGH4B6LheZWYva7RlIdyRmT6kEKTldSKteR+xz5tJAn6OT45kuHt7qNnCO8dw6x6ndupc9/+EyKzxzdu33de7gHp4xsc9N1yM2Voj5sC3pupXXd/nhEW5ssmlGU1BY6et8FHV1EvXDKmJi6XDqcKMoR5eK8AT7rZilzp0JOl0/b6f7Yc0BbhzDs2nBWR7ob8DPHWDffM8eE3IA8ho9jJvUy80+26qbm8LZ6uX0E5o5RxWbRad3N1BFpElc5/PD2MN8ZEePlmvLKXe/1NPpsVyy6XW+2j9hLUdvn+Li7tRLV3U5yRaA243Htlk0cYvYU+69Etr9/JlaZ7fYUpF1msuo1rDzzdn00F1sytyQ6Ilu5f9qt7bv9H3Y7DqN8TrwMBbvD6qyEYLFU6Jn6B42xLsqwa62b1J3w/7mF09Jad83FltJx+rLt7HWtDSZxw7kVyHMV6S085ySNuwGnnATqYEZGryX0e4us15SRyQphysi2kUo6K8vZIX3c3aov+xx+PmiviVG77lJNeNs+cS+fpm0hOm/QO0YVt5bDaaF7TZIvmzjEtz6WTRwSKBQ2E4LUhdd/BAm/29st2f9sj8TSjTxSdTKpOk/35D130+E68qsP+z9tg8d9rYdd24EJ2oD3Tqr5HnuEb+8fM6lXThR7LBW6OwJh2LXWjfdyv+QhXu2p1rDTbYW+cqT/pKbzoj1XkZxrxemO+KybtxVpNw63iyeohSd3i7l9hPcEpNfknU0meWXcE0Er+ltKzym7PZIJap06Laq0HZ/jN+kmmlM9ecdd5s2XDjfLJg5JUup2h9VcbJXTaxjvvJ7NxVb7cdfHiv6WMeA1YgiyJiAdQUYr7a6ph5vuwYHWveDc5nRj2WUO4taa6jqP0zL1M1paRwTd2kZnSfdJwA7Rr8Nw3yN2fbn/yy+qLRNl6zfZbhsrnyQMAOf/hz0xGk+FbtorMNvvag8l3Q9L9hqGeuXAdg5d7eNtK822nGsOT1izByRbuJ91sxqr08/+uVjDQudF9upobNeQO2+3pxJM4S5xN2J7MdAd50vS9/knW+d+r3fbENw5ErFDDG23Ukorx+VHvX2EdT77ZrMtNb8RijuiZP4pVp01O1wI514nZkV/a5vbArU7D3tb0YwiM2ZSL7Oiv3c42qLTurce56wb97lTWaDuUFhnB9FhJZ8izNIdUufVqaaK1PBSrPY551a2KebmYszyc49sN2rbU5ycS942cpxlnTLSuhf2HGDdF04XyJSR1n35BW1tsrkYM69SkvKy2/9lz1XZ9eWXv93dITnbm7ujd5bXywALRBoj0mnouUNzw1wUFVuF7nWj2RfVGdLk7qlX9McMdyn4Ff2TG7Z9Azpvys+l/U1iuxP8buiawy15Pinyd204G9jyc480e4uS/Z62VelUQn6TTs5hpjtW174BnO6bzxP+1Hd7J5dtRX+rYRqsmyzogw3s/1r+NesmtieunDe7Xf+23OdeJ+aVIy0lbpfLVkifOqyd5uI2Gd0dsX0z1RzeftidNszNYd3aHY/TurU7KKcFag+vnZbph/9gKR2ndf15N+uGd7aJFf2terCv5x3ni5lb2dY2XzmS1u922e12lCqTpVeMtt1Jut0Bi07r3m6S0zmicXYKcyut6+VW3rZSby62rrVXZ9Gq+BJt6QtJdr/Z94+zA3I/+9XLnWrLanfQznmmvUWYt/u03eO2MfByP+sYe27Ilv2OUcVmzKReaeeG7DburEu7Tf7xiLb/30/7UYxfoEUm1nvWCh24ANgEbAHu9NgvwJzE/vXAyenOGYZC91uQYlucTt+je2jmttj3FiX7Up038rBr2270vUXtrUO3n9A9XHa7HZw3htciCbuROjsJu9PxUtDOMvlZjLYstk/eLmtLwqJowVLCzu97iyxl7hU77sbZudqN2lbm9vmcIxy7nt0+dqdf1643e0LS7gCdlrHt2/+4u6U0/Ooj1QIZt8//k6Lkzs1Zj/aIyT0v8Fk3q8z2iM1prTnLVnN4cvmdnd9bfb3ry+7gU3Wqfm66+adYyjuIwvJaUGSPdt0dgl3u5yraOn6nn9w52rHbvn3OT4q8t9cc3t515pteItEJ2waPLas9oe/lpvK7Lu6R4d4iS8nbZbEXk9mjT7tN2r/54xFtRpHdNvYckHzdnaP9bCfXs1LoQBHwHnAMcCBQC5zgOuZC4OmEYj8deC3decO20J3WhPum9FOczhvEvtBOd43byplxdnv3g9dQ3Cvsb9i17X/rPM5pPaYKx3SH2jkntdzDTOdvnBEd9rs9B2BbGvaw2L7pOjLJ4+5c7TBLZ+dqW7y2ktpT3F4Ju6+NLbvbOnVHoNg3iLPe3crYb8GI27pNdVO6jYD9WGX4uHtbB2sr90+Kkn/vVGjuCCa789snbcfY8jrdTn6dakZ+d59r6G6TXveL81q7R3Bun/oel9XvtGCd/+V2j7rvIb8IMnu061SUXu4zd2fl7ljcnbVTCTvlcpbLrut3eyePxJ1WuLP+Arkv05CtQj8D+L3j+78A/+I65n+A8Y7vm4AjUp03bB/67SOSJ7a83CReSs6pCL2sWK+wr1Q3un0B3T5d+7dO35qf9ejXSbhD7ezz+0V8OF0z7rI5QxKd57aVsHNfEH+fl0Jx1qPfze5VHqdrqiVxk7itGlv5OEdHbqtu/inJE7xOP61Tubmt2xlnJ7tX3GFp9jXafEj7zsZ2+bllcroC3Zap3fnZ7591awstdFqtQVZ3uusubXoG1zX0M37c0TBenamz42/tRCraK0h7kn1vkb+LKEh6CWeZW5XsAe3btPM6+HUs7mO9QlXdcya2G8k2Au3Rl61r7HvC6a4L4r5MR7YK/TJgoeP71cBc1zG/BYY6vv8BqPQ41ySgBqgpLS3tcEHa4bP4wT2zb/tVuTvZ/+zsnd1WgXshj9P6tXtfr8mudLHA7m1e/kq/TsJLWaaywvwWZLhDIJ1+0L0uF0FQH1/Q/7JvdvuGcVrozkgE+5jm4ja/tDPk0T1/4lXHH36p/QSbl0L0O5ffjecXn+6cG3EqAvciqSkj25TBusPa+2DtfZ9JB4bmrrw5zrYc1Bp8buE0z1BP258fNEzPvQze9oE7O9cpI635BXdEypSRbfMFadNL3HefbwCB2yhyd+7OjsU9D+bsILxGyU5Xz6cug9FtMPiNJIOOmrxIpdCDLP0XrwWmGRyDMWYBsACgsrKy3f4O45N58QezyxnmWhZt5csus5Ynr57JtxK5w7/yd7h8A3QTYVidYdQW+P0xMPL9tiXuACMbe1M750bqEkuJ6waX8o89255H2cqsWVTPG5a0BPijPccAUDf4/aRtn9S/x7TVDUnLq++rhhXXJ+cWf+GAfvzb4jX863BrufptI+HHK60l7dNWw7ojrLK5lxrbS78Pe+J+xo3dxTd2CLeNNHQ3wrixhpGNvXlh/AnMXLQGgH8eaZ1r+VIrxUD1Vf4ZDN0E+a/aOTfy70+/wqG/XQnAvw63/qdlv5WK4YeJ8l007g5G9Cjh3dHPcHuftTx55G4Arru2F//eeEprugBnXnz7OpZ074XQnLT0uv/EqSmX6TuXrIOVBgKS0z84Uyss7DmByqUzARh9pbXtNw9b6Rn2FlvZL8Gqx988DEX7rbq1s0P+5mHosR82HQInfggrvgbf3gxPfg1G1Fn7PukGLUVWOopAqR0c90L57HIq1tUzakvHskuOaCyhet40ljva7gsH9OO6xWuScu3bD9b+yYDtrcvqa8+awBONJTBxartnt/7kKute+eljb1I95yTqmqs4bXs9Y2/oBcBp7+/m1xeV8b3uHzOqZjfHNgZMLzF1Kjc/YC3Fdz4fYflSK8++Oz3GrvKh1M45g5I/zuWXD+3mW1fC4A9g5vPwheN6L18KB+yHvxcDxmoPKyvadID9+wuvgis2wJG72+7D5aPKuGhc231ot61fD4ClAyyxH1kG37uqF7Vzbg49NYBYCj/FASJnAHcbY76Z+P4vAMaYnziO+R9glTFmSeL7JmCYMeYDv/NWVlaampqa7EvgQfUD05Musp1itXbONKvReuR4KEs8Ed7O8eF+r50zjRETQ87dETTfROK415+4n2f77GrNSzOysTenfufG7B4gMGsW7/4xWXGO2WEpzv6nXRD+gwkc//e193fzej+rMx233vC3IztQnjAfpuA41+W/q2fTMZaiOTahaNqd16POFj3VnZHb/4Fn+33CdRd+Blj1uHBNXz4+tozzh75PQ1MD397RkyUP7Kb6GHipDPZ1szrnBwdZSuSaWqg+Bn42BK54Cy55J5Ea+GtjApcrZfvvaBvuxIdWZCS3h3zPrbYMKLvO28mc4npvOqYXD/3vbooMXJjoQ5cvtd5rfpGQoyN1koP6E5G1xphKz30BFPoBwGbgPGA78DpwpTHmbccxFwE3Y02OfgOYY4w5LdV5c6nQM6rEXCpNRbFJ1TYhnJs/D54clBH5IHdnGzgZkJVCT5zgQmA2VsTLr4wx94rI9wGMMfNFRIC5WOGNe4HrjTEptXVOFbqiKEpMSaXQA6XPNcY8BTzl2jbf8dkAN2UjpKIoipId3aIWQFEURQkHVeiKoigxQRW6oihKTFCFriiKEhMCRbnk5I9FPgLqM/x5X+CvIYpTKHTFcmuZuwZa5uCUGWMO9doRmULPBhGp8QvbiTNdsdxa5q6Bljkc1OWiKIoSE1ShK4qixIRCVegLohYgIrpiubXMXQMtcwgUpA9dURRFaU+hWuiKoiiKi4JT6CJygYhsEpEtInJn1PLkChHZKiJvicg6EalJbPuyiDwnIu8m3g+JWs5sEJFficiHIrLBsc23jCLyL4nrvklEvhmN1NnhU+a7RWR74lqvSyTDs/fFocxHi8hKEdkoIm+LyD8ltsf2Wqcoc26vtd+TL/LxRYDnm8blBWwF+rq2zSLxkG7gTuC+qOXMsoxnAycDG9KVETghcb27AxWJdlAUdRlCKvPdwA88jo1LmY8g8eB4oCdWOu4T4nytU5Q5p9e60Cz004Atxpj3jTGfA0uBMRHL1JmMAR5MfH4Q+E50omSPMeZF4G+uzX5lHAMsNcZ8ZoypA7ZgtYeCwqfMfsSlzB8YY95IfG4GNgL9iPG1TlFmP0Ipc6Ep9H7Anx3ft5G6kgoZAzwrImtFZFJi21dM4ilQiffDIpMud/iVMe7X/mYRWZ9wydiuh9iVWUTKgZOA1+gi19pVZsjhtS40hR7o2aUx4UxjzMnAKOAmETk7aoEiJs7Xfh7wj8Bg4APgPxPbY1VmETkYeAyYYozZnepQj20FWW6PMuf0WheaQt8GHO34fhSwIyJZcooxZkfi/UNgOdbwa6eIHAGQeP8wOglzhl8ZY3vtjTE7jTEtxpj9wC9pG2rHpswiUoyl2KqMMY8nNsf6WnuVOdfXutAU+utAfxGpEJEDgSuAFRHLFDoicpCI9LQ/AyOBDVhlvTZx2LXAk9FImFP8yrgCuEJEuotIBdAf+GME8oWOrdQSXIx1rSEmZU48ovIBYKMx5meOXbG91n5lzvm1jno2OIPZ4wuxZozfA6ZHLU+OyngM1ox3LfC2XU6gD/AH4N3E+5ejljXLci7BGnbuw7JQJqYqIzA9cd03AaOilj/EMv8f8BawPnFjHxGzMg/Fch+sB9YlXhfG+VqnKHNOr7WuFFUURYkJheZyURRFUXxQha4oihITVKEriqLEBFXoiqIoMUEVuqIoSkxQha4oihITVKEriqLEBFXoiqIoMeH/A9IM18yfWVmNAAAAAElFTkSuQmCC\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "y_valid_pred = clf.predict(x_valid)\n",
    "plot(y_valid, y_valid_pred, 'Validation Set')"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% code\n"
    }
   }
  }
 ],
 "metadata": {
  "kernelspec": {
   "name": "cs229",
   "language": "python",
   "display_name": "cs229"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}